package ev.ftw.dna;

/**
 * Clase que representa una sonda de microarray
 * 
 * @date 01.08.2012
 * @author Enrique Vázquez de Luis
 *
 */
public class Sonda {
	
	int posicion; //Posición inicial de la sonda.
	int tamanno; //Tamaño de la sonda en nucleotidos.
	float valor; //Valor de la sonda (en log2).
	
	public static final int DEFAULT_TAM = 25; //Tamaño por defecto de una sonda.
	
	/**
	 * Constructor de una sonda vacía de tamaño tam.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param tam Tamaño de la nueva sonda.
	 */
	public Sonda(int tam){
		this.tamanno = tam;
		this.posicion = 0;
		this.valor = 0;
	}
	
	/**
	 * Constructor de una sonda sin valor en la posición pos y de tamaño tam.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param tam Tamaño de la sonda.
	 * @param pos Posición inicial de la sonda.
	 */
	public Sonda(int tam, int pos){
		this.tamanno = tam;
		this.posicion = pos;
		this.valor = 0;
	}
	
	/**
	 * Constructor de una sonda en la posicion pos y con el valor valor de tamaño estándar.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param pos Posición inicial de la sonda.
	 * @param valor Valor de la sonda.
	 */
	public Sonda(int pos, float valor){
		this.tamanno = Sonda.DEFAULT_TAM;
		this.valor = valor;
		this.posicion = pos;
	}
	
	/**
	 * Constructor de una sonda de tamaño tam, en la posicion pos y con un valor valor.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param tam Tamaño de la sonda.
	 * @param pos Posición inicial.
	 * @param valor Valor de la sonda.
	 */
	public Sonda(int tam, int pos, float valor){
		this.tamanno = tam;
		this.posicion = pos;
		this.valor = valor;
	}
	
	/**
	 * Getter del atributo posición.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @return posicion.
	 */
	public int getPosicion(){
		return this.posicion;
	}
	
	/**
	 * Setter del atributo posición.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param pos La nueva posición.
	 */
	public void setPosicion(int pos){
		this.posicion = pos;
	}
	
	/**
	 * Gettet del atributo tamaño.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @return tamanno.
	 */
	public int getTamanno(){
		return this.tamanno;
	}
	
	/**
	 * Setter del atributo tamaño.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param tam El nuevo tamaño.
	 */
	public void setTamanno(int tam){
		this.tamanno = tam;
	}
	
	/**
	 * Getter del atributo valor.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @return valor.
	 */
	public float getValor(){
		return this.valor;
	}
	
	/**
	 * Setter del atributo valor.
	 * 
	 * @date 01.08.2012
	 * @author Enrique Vázquez de Luis
	 * @param val El nuevo valor.
	 */
	public void setValor(float val){
		this.valor = val;
	}
}
